Recently, an FIR filter (Finite Impulse Response filter) and IIR filter (Infinite Impulse Response filter) are popularly used as digital filters. FIG. 9 is a block diagram showing an example of the arrangement of a digital filter circuit 100 using an FIR filter. In FIG. 9, a real signal is indicated by a solid line, and a complex signal is indicated by a thick line to discriminate them. This notation also applies to the remaining drawings.
The digital filter circuit 100 is a digital filter circuit that performs filter processing in the time domain for a complex signal x(n)=r(n)+js(n) (j is an imaginary unit, n is an integer). The digital filter circuit 100 includes three FIR filters 101, 102, and 103.
The FIR filter 101 is a 5-tap real-coefficient FIR filter that performs filter processing by real number calculation on a real signal r(n) serving as the real part of the input complex signal x(n). Five filter coefficients a0 to a4 of the FIR filter 101 are real numbers. The FIR filter 101 outputs the result of filter processing as a real signal r′(n).
Similarly, the FIR filter 102 is a 5-tap real-coefficient FIR filter that performs filter processing by real number calculation on a real signal s(n) serving as the imaginary part of the input complex signal. Five filter coefficients b0 to b4 of the FIR filter 102 are real numbers. The FIR filter 102 outputs the result of filter processing as a real signal s′(n).
In contrast, the FIR filter 103 is a 5-tap complex-coefficient FIR filter that performs filter processing by complex number calculation on a complex signal x′(n)=r′(n)+js′(n) formed from the real signals r′(n) and s′(n) having undergone filter processing by the FIR filters 101 and 102. Five filter coefficients c0 to c4 of the FIR filter 103 are complex numbers. The FIR filter 103 outputs the result of filter processing as a complex signal x″(n).
Filter processing by the FIR filter includes filter processing to be performed by real number calculation using filter coefficients of real numbers, and filter processing to be performed by complex number calculation using filter coefficients of complex numbers, as in the digital filter circuit 100.
In general, the minimum value of the number of taps of an FIR filter is decided by the impulse response length of a filter function to be implemented. In some cases, several hundred taps or more are necessary to implement a complicated filter function. When an FIR filter with a large number of taps is mounted in an LSI, the circuit scale and power consumption of the LSI may increase greatly.
To solve this problem, Japanese Patent Laid-Open No. 2011-4264 has disclosed a technique of performing filter processing in the frequency domain. In filter processing in the frequency domain, signal data in the time domain is temporarily transformed into signal data in the frequency domain by fast Fourier transform (FFT). Then, filter calculation of signal data and a filter coefficient is executed in the frequency domain. The signal data having undergone the filter processing is retransformed into signal data in the time domain by inverse fast Fourier transform (IFFT).
When the number of taps of the FIR filter is large, the circuit scale and power consumption necessary to implement filter processing can be reduced by performing filter processing in the frequency domain. This is because convolution calculation in the time domain by the FIR filter can be converted into simple multiplication in the frequency domain.
When transforming complex signal data in the time domain into complex signal data in the frequency domain by complex FFT, the real part and imaginary part of complex signal data in the time domain are combined and transformed in complex signal data in the frequency domain. Thus, according to the technique disclosed in Japanese Patent Laid-Open No. 2011-4264, when performing filter processing independently on the real part and imaginary part of a complex signal, the respective real and imaginary parts of the complex signal need to be independently transformed into real signal data in the frequency domain by real FFT.
FIG. 10 is a block diagram of a digital filter circuit 110 that performs filter processing in the frequency domain according to the technique disclosed in Japanese Patent Laid-Open No. 2011-4264. FIG. 10 shows an example corresponding to the arrangement of the digital filter circuit 100 that performs filter processing in the time domain shown in FIG. 9. The digital filter circuit 110 is a digital filter circuit that performs filter processing in the frequency domain for a complex signal x(n)=r(n)+js(n). The digital filter circuit 110 includes three frequency domain filters 111, 112, and 113.
The frequency domain filter 111 transforms a real signal r(n) serving as the real part of an input complex signal x(n) in the time domain, into complex signal data in the frequency domain by FFT. Then, the frequency domain filter 111 executes filter calculation by complex number calculation on the complex signal data in the frequency domain, and retransforms the complex signal data having undergone filter processing into real signal data r′(n) in the time domain by IFFT. Even when Fourier transform is performed on the real signal r(n), the transformed signal data becomes a complex number. The filter coefficient is also a complex number in general. For this reason, filter calculation requires complex number calculation.
Similarly, the frequency domain filter 112 transforms a real signal s(n) serving as the imaginary part of the input complex signal x(n) in the time domain, into complex signal data in the frequency domain by FFT. Then, the frequency domain filter 112 executes filter calculation by complex number calculation on the complex signal data in the frequency domain, and retransforms the complex signal data having undergone filter processing into real signal data s′(n) in the time domain by IFFT.
To the contrary, the frequency domain filter 113 transforms, into complex signal data in the frequency domain by FFT, a complex signal x′ (n)=r′ (n)+js′(n) formed from the real signals r′(n) and s′(n) having undergone filter processing by the frequency domain filters 111 and 112. After that, the frequency domain filter 113 executes filter calculation by complex number calculation on the complex signal data in the frequency domain, and retransforms the complex signal data having undergone filter processing into complex signal data x″(n) in the time domain by IFFT.
Note that techniques of performing filter processing in the frequency domain are also disclosed in Japanese Patent Laid-Open Nos. 2005-065231, 2008-017511, and 2009-272683.